home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 20 / Cream of the Crop 20 (Terry Blount) (1996).iso / os2 / lxlt115.zip / LXLITE.GER < prev    next >
Text File  |  1996-06-14  |  31KB  |  597 lines

  1.             ----------------------------------------------------
  2.               lxLite - ein Packer fuer ausfuehrbare OS/2-Dateien
  3.             ----------------------------------------------------
  4.  
  5.                                      Widmung: Meiner kleinen Tochter Alice,
  6.                                           geboren am 12 Feb, 1996 um 03:45.
  7.  
  8. 0. Version der deutschen Dokumentation
  9. --------------------------------------
  10.  
  11.    Die  deutsche  Uebersetzung basiert auf der  englischen  Dokumentation zu
  12. lxLite 1.1.2.
  13.  
  14. 1. Distribution
  15. ---------------
  16.  
  17.    Dieses Programm ist Freeware. Das heisst, man kann es verbreiten, wie man
  18. will, ausser fuer den kommerziellen Gebrauch. Kommerzielle Verwendung ist nur
  19. mit  meiner  ausdruecklichen  Zustimmung erlaubt.  Wie man mich kontaktieren
  20. kann ist in der letzten Sektion dieser Datei zu sehen.
  21.  
  22.    Freeware heisst aber auch, dass es keinerlei Garantie fuer  das gibt, was
  23. das Programm macht, ob es das macht was man erwartet, ob es ueberhaupt etwas
  24. macht.  Ich  uebernehme  keinerlei  Verantwortung  fuer  irgendeinen Schaden,
  25. entgangene  Profite etc.,  die  durch  Fehler  dieses  Programms  (oder der
  26. Uebersetzung der Dokumentation) verursacht werden.
  27.  
  28.    Wie  auch  immer,  es  ist erlaubt,  das Programm dazu zu  verwenden, um
  29. jedes, auch jedes kommerzielle Produkt zu verbessern. Und zwar nicht um den
  30. eigenen Vorteil,  sondern um  den Vorteil aller armen  User,  die  sich mit
  31. riesigen Programmdateien herumaergern muessen.
  32.  
  33.    Das Programm  ist  ausschliesslich  in  Virtual  Pascal  1.0  Beta #003,
  34. geschrieben, vor allem mit dem eingebauten 32-bit Assembler. Virtual Pascal
  35. ist eine excellente Sprache,  die alle Vorteile und  Moeglichkeiten von OS/2
  36. bedient und unterstuetzt,  gleichzeitig  Borland Pascal  kompatibel ist, und
  37. einen maechtigen eingebauten Optimierer hat.
  38.  
  39.    Falls du den Source  Code von lxLite willst,  bitte wende  Dich an mich,
  40. aber  du  musst  mir ganz  sagen WARUM du  ihn brauchst;  Leute,  die fremde
  41. Programme unter eigenem Namen verkaufen wollen, bekommen ihn sicher nicht.
  42.  
  43.  2. Einfuehrung
  44.  -------------
  45.  
  46.    Ich denke,  wir alle sind recht sauer ueber die gewaltige Groesse  die fast
  47. alle  modernen  Programme haben,  die unter OS/2  laufen  (fuer  WinDOS gilt
  48. allerdings das gleiche), ohne oft entscheidend mehr zu koennen als Programme
  49. frueherer  Zeiten.  Ich  verstehe  nicht,  warum sie so gross sind,  weil die
  50. meisten Compiler, sogar IBM CSet generieren Code in moderaten Groessen.
  51.  
  52.    Nehmen wir als Beispiel das  allseits bekannte MultiMaint.  Was um alles
  53. in der Welt macht das Ding in einer 700K grossen EXE-Datei?  Ich verstehe es
  54. nicht.  Dazu  kommt noch,  warum  wird  die beinahe gleiche  EXE-Datei noch
  55. doppelt und dreifach dazugepackt (Ich meine MultiSafe und IniMaint, die mit
  56. MultiMaint daherkommen).  Das Programm ist ja ganz nett und es  macht seine
  57. Arbeit ganz gut,  aber fuer diese Arbeit ist es einfach zu gross. OS/2 Kernel
  58. haben etwa den gleichen Umfang. Wo ist da die Relation? Ich kann (und will)
  59. es mir einfach nicht leisten so einen  grossen Haufen Mist  auf meine Platte
  60. zu laden, also habe ich MultiMaint & Co. wieder gekuebelt. Zu Dumm fuer deren
  61. Autoren.
  62.  
  63.    lxLite ist ein Workaround  fuer dieses Problem.  Programmdateien kann man
  64. packen,  sie  nehmen dann nur noch  den halben  Platz ein,  und machen noch
  65. immer den glichen Job.  Dummerweise braucht es  auch den  gleichen Platz im
  66. Speicher - das ist die Schuld des Autors.
  67.  
  68.    Soviel ich weiss,  gibt es fuer OS/2 nur ein Programm, das etwas Aehnliches
  69. macht REPACK von IBM (EWS?). Aber vergleichen mit lxLite erzeugt es groessere
  70. Dateien,  obwohl  es  den  gleichen  Algorithmus  verwendet.  Zum Beispiel,
  71. COURIER.FON aus OS/2  Warp Build 8.192  wird von REPACK zu  44K, von lxLite
  72. aber in 34K gepackt.  Spuer den Unterschied! BTW, LINK386+Ressource Compiler
  73. compilieren COURIER.FON auch in ein 44K-Datei. Daher denke ich, dass das sie
  74. eine gemeinsame Library verwenden.
  75.  
  76.    Ich  komprimierte alle meine Programmdateien (inklusive  aber  nicht nur
  77. ?:\os2\*.exe,  ?:\os2\dll\*.*  und  ?:\os2\dll\ibmnull;laserjet)  und  mein
  78. System  ist nach  wie vor stabil.  Ein  lxLite Benutzer (Pavel  Roskin) hat
  79. festgestellt, dass  lxLite  sogar os2krnl komprimiert:-)  Sehr angenehm vor
  80. allem fuer eine einzelne Bootdiskette [Anmerkung d. Uebersetzers: Es stimmt].
  81.  
  82. 3. Features
  83. -----------
  84.  
  85.    lxLite komprimiert die Dateien auf die  gleiche Art wie LINK386  es tut.
  86. Es gibt  keine andere  Moeglichkeit gepackte  Programmdateien unter  OS/2 zu
  87. implementieren,  als die zwei, die OS/2 Warp (oder die eine die 2.x) kennt.
  88. So, hier ist eine kurze Beschreibung dieser beiden Algorithmen:
  89.  
  90.    1. Run-length packing.  Das ist im Prinzip die gleiche  Methode, wie sie
  91. Microsoft C fuer DOS verwendet.  Das Ergebnis ist sehr  SCHLECHT, weils sich
  92. Programmdateien  nicht  fuer  die  Pack-Methode  eignen.  Zum  Beispiel, PCX
  93. Dateien werden auf die gleiche Art gepackt.
  94.  
  95.    2. Eine Art Lempel-Ziv  Algorithmus.  Lempel-Ziv  ist  die  Methode, die
  96. beinahe  alle  DOS-EXE Packer  verwenden -  LZEXE,  PKLITE, PGMPAK etc. Die
  97. Methode  die fuer ausfuehrebare  OS/2  Dateien standardisiert  ist,  ist IMHO
  98. nicht  die effektivste.  Dazu  kommt noch,  dass  OS/2-Programmdateien einen
  99. anderen    Ladealgorithmus   haben   als    DOS-EXE-Dateien,    Teile   von
  100. OS/2-Programmdateien koennen  auch  nur geladen werden,  wenn  sie gebraucht
  101. werden.  Deshalb kann  ein Lempel-Ziv  Woerterbuch  nicht ueber eine einzelne
  102. Page (4096  Bytes)  hinausgehen.  Folglich sind die Resultate auch nicht so
  103. gut, wie sie theoretisch sein koennten.
  104.  
  105.    lxLite kann  beide Methoden verwenden,  sowohl zum Packen,  als auch zum
  106. Entpacken. Im Allgemeinen ergibt die zweite Methode die besseren Resultate,
  107. aber moeglicherweise (?)  gibt es Dateien fuer die die erste  besser ist. Aus
  108. diesem  Grund werden  defaultmaessig  beide Methoden angewendet,  die mit dem
  109. kleineren Ergebnis gewaehlt.  lxLite kann auch benutzt werden, um Dateien zu
  110. entpacken,  die bereits komprimiert sind,  sei  es mit  mit lxLite, LINK386
  111. oder REPACK von IBM.
  112.  
  113.    Was fuer Dateien koennen nun mit lxLite gepackt werden? Das LX Format wird
  114. unter OS/2 beinahe ueberall verwendet: Beinahe alles ist im LX format. Nicht
  115. nur  EXE-Dateien,  sondern auch .DLL,  .PDR, .QPR, .DRV, .FON, .SYS-Dateien
  116. koennen mit lxLite gepackt werden.  Sogar die VDDs  (Virtual Device Drivers)
  117. in \OS2\MDOS koennen  damit gepackt werden.  Praktisch  kann  man lxLite auf
  118. jedes Datei loslassen: Wenn es kein LX ist, wird lxLite es nicht anruehren.
  119.  
  120.    Es ist also  moeglich,  den ganzen  \OS2\*\ zu  komprimieren, man bekommt
  121. jede Menge  Extraplatz ohne irgendwelchen Overhead!  Die Dekompressionszeit
  122. wird  durch die verkuerzten  Ladezeiten  der verkleinerten  Dateien  von der
  123. Platte  bei weitem aufgewogen.  Also,  Reboot von einer Diskette (eventuell
  124. von  den  beiden  Installationsdisketten  und  dann  F3  waehlen,  dann  das
  125. entsprechende Laufwerk  waehlen,  wo das installierte  OS/2  liegt. Dann ist
  126. folgendes beim Command prompt einzugeben:
  127.  
  128.    \[path]\lxLite os2\*.exe os2\dll\*.* os2\dll\ibmnull\*.drv
  129.  
  130. und  so   weiter.   So  koennen  auch  die  Dateien,   welche  zur  Laufzeit
  131. normalerweise gesperrt (EXE,DLL) sind, problemlos gepackt werden.
  132.  
  133.   lxLite Version 1.00  und hoeher ist sogar in der Lage  Dateien, die gerade
  134. benutzt werden,  zu packen. In diesem Fall kann warnt lxLite und fragt nach
  135. ob es das Modul auslassen oder durch seine gepackte  Version ersetzen soll.
  136. Grundsaetzlich  ist das ersetzen  auch  so  kein  Problem,  nur  muss  man im
  137. Hinterkopf behalten,  dass  das Original  bereits im Speicher  sitzt, und so
  138. auch jede  Menge Platz im  SWAPPER.DAT auffressen.  Ein  Reboot  sobald wie
  139. moeglich ist daher immer eine gute Idee.
  140.  
  141.    Versionen  von   lxLite  ueber  1.00   gibt  es   in  zwei  verschiedenen
  142. EXE-Dateien:  lxLite.exe ist die normale Version fuer OS/2  v2.99,  Warp und
  143. hoeher. Die andere, namens lxLite2x.exe ist fuer die aelteren 32 bit Versionen
  144. von  OS/2  (i.e.  2.x,  NICHT 1.x weil unter 1.x gab es das  LX Format noch
  145. nicht